package cn.ccsu.cecs.bonus.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 加分申请表
 * </p>
 *
 * @author ccsu-cecs
 * @since 2022-03-10
 */
@TableName("bonus_apply")
public class BonusApply implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 学年id(用于查询优化)
     */
    private Integer yearId;

    /**
     * 类别id(用于查询优化)
     */
    private Integer categoryId;

    /**
     * 加分项id
     */
    private Integer bonusId;

    /**
     * 学生id
     */
    private Integer stuStudentId;

    /**
     * 成绩(把该加分项的分数，赋值给本成绩，可能会出现负数，因为有惩戒减分，学习成绩不会使用该加分项的分数，学习成绩就是直接使用导入时excel的成绩)
     */
    private BigDecimal score;

    /**
     * 备注(申请备注)
     */
    private String remark;

    /**
     * 审批状态
     */
    private Integer approval;

    /**
     * 审批人
     */
    private String approvalBy;

    /**
     * 审批时间
     */
    private LocalDateTime approvalAt;

    /**
     * 审批意见
     */
    private String approvalComments;

    /**
     * 创建记录时间
     */
    private LocalDateTime createdAt;

    /**
     * 记录创建人
     */
    private String createdBy;

    /**
     * 更新记录时间
     */
    private LocalDateTime updatedAt;

    /**
     * 记录修改人
     */
    private String updatedBy;

    /**
     * 逻辑删除,0未删除,1已删除
     */
    private Integer deleted;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getYearId() {
        return yearId;
    }

    public void setYearId(Integer yearId) {
        this.yearId = yearId;
    }

    public Integer getCategoryId() {
        return categoryId;
    }

    public void setCategoryId(Integer categoryId) {
        this.categoryId = categoryId;
    }

    public Integer getBonusId() {
        return bonusId;
    }

    public void setBonusId(Integer bonusId) {
        this.bonusId = bonusId;
    }

    public Integer getStuStudentId() {
        return stuStudentId;
    }

    public void setStuStudentId(Integer stuStudentId) {
        this.stuStudentId = stuStudentId;
    }

    public BigDecimal getScore() {
        return score;
    }

    public void setScore(BigDecimal score) {
        this.score = score;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Integer getApproval() {
        return approval;
    }

    public void setApproval(Integer approval) {
        this.approval = approval;
    }

    public String getApprovalBy() {
        return approvalBy;
    }

    public void setApprovalBy(String approvalBy) {
        this.approvalBy = approvalBy;
    }

    public LocalDateTime getApprovalAt() {
        return approvalAt;
    }

    public void setApprovalAt(LocalDateTime approvalAt) {
        this.approvalAt = approvalAt;
    }

    public String getApprovalComments() {
        return approvalComments;
    }

    public void setApprovalComments(String approvalComments) {
        this.approvalComments = approvalComments;
    }

    public LocalDateTime getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(LocalDateTime createdAt) {
        this.createdAt = createdAt;
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    public LocalDateTime getUpdatedAt() {
        return updatedAt;
    }

    public void setUpdatedAt(LocalDateTime updatedAt) {
        this.updatedAt = updatedAt;
    }

    public String getUpdatedBy() {
        return updatedBy;
    }

    public void setUpdatedBy(String updatedBy) {
        this.updatedBy = updatedBy;
    }

    public Integer getDeleted() {
        return deleted;
    }

    public void setDeleted(Integer deleted) {
        this.deleted = deleted;
    }

    @Override
    public String toString() {
        return "BonusApply{" +
                "id=" + id +
                ", yearId=" + yearId +
                ", categoryId=" + categoryId +
                ", bonusId=" + bonusId +
                ", stuStudentId=" + stuStudentId +
                ", score=" + score +
                ", remark=" + remark +
                ", approval=" + approval +
                ", approvalBy=" + approvalBy +
                ", approvalAt=" + approvalAt +
                ", approvalComments=" + approvalComments +
                ", createdAt=" + createdAt +
                ", createdBy=" + createdBy +
                ", updatedAt=" + updatedAt +
                ", updatedBy=" + updatedBy +
                ", deleted=" + deleted +
                "}";
    }
}
